Multimedia is the core of digital entertainment, and it usually requires very high processing power, especially for real-time applications. When real-time multimedia applications are implemented using a general purpose computer, the computer's central processing unit (CPU) is usually heavily loaded, and in many cases, the CPU cannot support a real-time multimedia application. For example, CPUs found in most standard household personal computers are not powerful enough to decode high definition video in real-time.
With the advance of silicon and computer graphics technologies, more and more inexpensive yet powerful graphics processing units (GPUs) are found in mainstream personal computers and game consoles. GPUs are specialized processors designed to perform two-dimensional and three-dimensional graphics operations. When a computer is performing non-graphics oriented operations (e.g., decoding an encoded video bitstream), the CPU may be heavily loaded, while the GPU is idle.
Accordingly, a need exists to leverage the power of the GPU for use in non-graphics applications.